package com.example.common.network;


import com.example.common.model.CaptchaServiceGenerateResp;
import com.example.common.model.Description;
import com.example.common.model.MyResponse;
import com.example.common.model.SessionApiLoginResp;

import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;

public interface LoginRegisterReq {

    @GET("captcha")
    Call<MyResponse<CaptchaServiceGenerateResp>> getCaptcha();

    @FormUrlEncoded
    @POST("captcha")
    Call<MyResponse<Boolean>> postCaptcha(@Field("id") String id, @Field("ans") String ans);

    @FormUrlEncoded
    @POST("user")
    Call<MyResponse<Description>> postUser(@Field("id") String id,
                                           @Field("data") String data);

    /**
     * 登录接口
     *
     * @param id   rsa密钥对公钥
     * @param data 发送的数据，包括账号和密码
     * @return
     */
    @FormUrlEncoded
    @POST("session")
    Call<MyResponse<SessionApiLoginResp>> postSession(@Field("id") String id,
                                                      @Field("data") String data);

    @GET("session")
    Call<MyResponse<Boolean>> getSession(@Header("authorization") String token);
}
